GDK W32: Make sure drag source window is not NULL
authorРуслан Ижбулатов <lrn1986@gmail.com>
Sun, 26 Nov 2017 13:10:44 +0000 (13:10 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Sat, 2 Dec 2017 10:38:41 +0000 (10:38 +0000)
This prevents GTK from throwing a bunch of warnings when it tries
to get drag source window -> screen of that window -> ipc widget for that screen,
and then tries to attach a signal handler to that widget.

Specifically, this happens when we get a DnD move from another
application.

https://bugzilla.gnome.org/show_bug.cgi?id=786509

gdk/win32/gdkdnd-win32.c

index 3e4b2e6f605eb121ce7502a59ad101f29769ce75..acc04ea944ed0dddfafc4df1b86893ae36b4f302 100644 (file)
@@ -587,6 +587,8 @@ idroptarget_dragenter (LPDROPTARGET This,
    */
   if (current_src_context && current_src_context->context)
     g_set_object (&context->source_window, current_src_context->context->source_window);
+  else
+    g_set_object (&context->source_window, NULL); /* FIXME: Root window used to be here. Find a substitute? */
 
   g_set_object (&sel_win32->target_drag_context, context);
   context->actions = GDK_ACTION_DEFAULT | GDK_ACTION_COPY | GDK_ACTION_MOVE;